home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / tsql / doc / tsql.mail / 000052_csj@iesd.auc.dk _Mon Mar 29 16:26:56 1993.msg < prev    next >
Internet Message Format  |  1996-01-31  |  15KB

  1. Received: from iesd.auc.dk by optima.cs.arizona.edu (5.65c/15) via SMTP
  2.     id AA21457; Mon, 29 Mar 1993 07:27:01 MST
  3. Received: from yellow.iesd.auc.dk by iesd.auc.dk with SMTP id AA22405
  4.   (5.65c8/IDA-1.5/MD for <tsql@cs.arizona.edu>); Mon, 29 Mar 1993 16:26:56 +0200
  5. Date: Mon, 29 Mar 1993 16:26:56 +0200
  6. From: "Christian S. Jensen" <csj@iesd.auc.dk>
  7. Message-Id: <199303291426.AA22405@iesd.auc.dk>
  8. To: tsql@cs.arizona.edu
  9. Subject: Revised db schema proposal
  10.  
  11. Dear colleague,
  12.  
  13. I have now prepared a new proposal for the database schema for the
  14. TSQL Benchmark. I hope it takes into account the recent comments by
  15. various contributors and helps ensure progress. The proposal is
  16. appended at the end of this message. Below, I have included various
  17. comments related to the proposal.
  18.  
  19. Let me summarize the rationale behind the original straw proposal for
  20. the database schema. It was based on two observations. First, making a
  21. comprehensive benchmark of temporal database queries is a large and
  22. complex task, particularly when there are multiple contributors.
  23. Second, the goal of this effort is to produce a benchmark in time for
  24. the TDB workshop in mid-June. Consequently, a versioned approach was
  25. considered essential. In response, a number of restrictions were
  26. imposed on which types of queries should be considered initially, and
  27. an attempt was made to use a relatively simple, initial database
  28. schema.
  29.  
  30. Several contributors have requested that more kinds of queries be
  31. included and that the database schema be extended with various
  32. attributes. I have tried to meet those demands while still maintaining
  33. a versioned approach (please refer to the appended document when
  34. reading the following).
  35.  
  36. The schema for Emp has been enlarged and now contains the attributes
  37. Name, Salary, Dept, Gender, B-day, and Skills.
  38.  
  39. Note that a candidate Bloodtype has been proposed as a substitute for
  40. Gender. On the other hand, Ed and Patrick argue that Gender is a
  41. frequently used attribute that allows one to make many meaningful
  42. queries. Note also that the prescence of both Salary and Dept
  43. introduces "functional redundancy." Thus one of these may be removed,
  44. or Skills may be removed if Dept is changed to Depts (and becomes
  45. multivalued).  Birthday is the only user-defined time attribute. Some
  46. functional redundancy is introduced as two time-invariant attributes
  47. (Birthday and Gender) coexist. A minimalized schema with no functional
  48. redundancy will contain the attributes Name, Dept, B-day, and Skills.
  49.  
  50. I have not included an attribute such as Temperature. It is hard to
  51. find an good place for it, and including it seems to be contrary to
  52. the focus of most temporal data models. Many models cannot store such
  53. information, so not much may be said about how well they express
  54. related queries.
  55.  
  56. The question was raised whether there are examples of user-defined
  57. time attributes which are "multivalued." If we add an attribute
  58. "Birthdays-of-children" (the company sends presents to children of
  59. employees) to the Emp schema then Name -->-> Birthdays-of-children.
  60.  
  61. Note that the new, expanded schema is not even in 3NF. That is the
  62. price paid for introducing the Skills attribute.
  63.  
  64. I feel that most progress will be made if we propose complete database
  65. schemas from now on and motivate the schemas. For example, one could
  66. propose that an attribute is removed from the schema in the document
  67. below, for some good reason. In any case, we need to settle on a
  68. schema fairly quickly, if we are going to make our June deadline for
  69. the entire benchmark.
  70.  
  71. Regarding the restrictions on the types of queries to be considered, I
  72. propose a cautious approach where we lift restrictions (candidates
  73. have already been indicated by contributors) at a later point, if (or
  74. when) it becomes clear that too few queries (e.g., less than 100) fall
  75. within the scope.
  76.  
  77. It has also been pointed out that some of the restrictions may not be
  78. very operational. I agree with that observation. Such useless
  79. restrictions will be removed when it becomes completely clear that
  80. they are indeed useless.
  81.  
  82. Best regards,
  83. Christian
  84.  
  85. \documentstyle[11pt]{article}
  86. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  87. % This paper is intended to evolve into the first version of the TSQL
  88. % benchmark.  
  89. % The purpose of this draft is to settle on a database schema for the
  90. % benchmark.
  91. % The purpose of the next draft is to settle on an instance for the
  92. % agreed-upon database schema.
  93. % The purpose of the following draft is then to define a taxonomy to
  94. % be used for categorizing the benchmark queries that will follow.
  95. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  96.  
  97. \addtolength{\textwidth}{1.485in}
  98. \setlength{\oddsidemargin}{.1in}
  99. \setlength{\evensidemargin}{.1in}
  100. \addtolength{\topmargin}{-.85in}
  101. \addtolength{\textheight}{1.8in}
  102.  
  103. \newenvironment{prog} { \begin{center} \begin{minipage}{3in}
  104. \begin{tabbing} nnnn\=nnnn\=nnnn\=nnnn\=nnnn\=nnnn\=nnnn\=\kill
  105. }{\end{tabbing} \end{minipage} \end{center}}
  106.  
  107. \long\def\comment#1{}
  108. \newcommand{\mvd}{\mbox{$\rightarrow \!\!\! \rightarrow \;$}}
  109. \newcommand{\autsp}{$\;\;\;$}
  110.  
  111. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  112. % PAPER START
  113. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  114.  
  115. \begin{document}
  116.  
  117. \title{\Large\bf The TSQL Benchmark \\ DRAFT} 
  118. \author{James Clifford \autsp Shashi K.~Gadia \autsp Fabio Grandi
  119.   \autsp Christian S.~Jensen \\ Patrick Kalua \autsp Edward
  120.   Robinson \autsp John F.~Roddick \\ Maria Rita Scalas \autsp
  121.   Richard T.~Snodgrass \autsp Abdullah Tansel \autsp Paolo Tiberio}
  122.  
  123. %Note that the list of authors is preliminary and may not be accurate!
  124.  
  125. \date{March 29, 1993} 
  126. \maketitle
  127.  
  128. \section{Introduction}
  129.  
  130. \subsection{Goal}
  131.  
  132. The central goal of this document is to provide the temporal database
  133. community with a {\em comprehensive consensus benchmark} for temporal
  134. query languages that is {\em independent} of any existing language
  135. proposal.
  136.  
  137. This is not a performance benchmark, but is rather a {\em semantic}
  138. benchmark intended to be an aid in evaluating the user-friendliness of
  139. proposals for temporal query languages. Thus, temporal query languages
  140. should ideally be able to express the benchmark queries both
  141. conveniently and naturally.
  142.  
  143. To obtain a consensus benchmark, researchers in temporal databases
  144. have been invited to participate in this initiative, and each researcher
  145. that has contributed significantly will be a coauthor. The electronic
  146. mail distribution {\tt tsql@cs.arizona.edu} is used as the medium for
  147. discussing the benchmark and related issues.
  148.  
  149. As a consequence of the central goal above, no existing temporal data
  150. models are used or mentioned. The relation schemas of the benchmark
  151. are expressed as sets of attributes, with the temporal aspects being
  152. implicit (of course, specific temporal data models might add explicit
  153. temporal attributes). The contents of the relations are described in
  154. natural language. The benchmark queries are also given only in natural
  155. language.
  156.  
  157. The benchmark is {\em not} intended to constitute a metric for query
  158. language completeness, and as such it is not a substitute for a
  159. rigorous {\em theoretical} study of expressive powers of various
  160. temporal query languages. Comprehensiveness of the benchmark is
  161. desirable only to ensure that all aspects of query language design are
  162. covered.
  163.  
  164. It it emphasized that using the benchmark as an advanced, quantitative
  165. scoring system for comparing languages makes little sense. Thus, one
  166. language is not necessarily superior to another just because one is
  167. capable of expressing more benchmark queries than the other. Rather,
  168. the focus is on user-friendliness.
  169.  
  170. \subsection{Scope}
  171.  
  172. Within certain boundaries, discussed next, the benchmark is intended
  173. to contain all queries that appear reasonable and that are consistent
  174. with the schema and data of the benchmark.
  175.  
  176. First, the benchmark is of a semantic nature---in its current form, it
  177. is not aimed at performance comparisons. The intention is to provide a
  178. foundation for comparing the descriptive and operational
  179. characteristics and capabilities of temporal query languages, not
  180. their performance characteristics. Properly extended with additional
  181. relation schemas and a variety of large instances, the benchmark can
  182. also be used for performance comparisons.
  183.  
  184. Second, a number of restrictions are imposed on which types of queries
  185. are admissible in this version of the benchmark, including the
  186. following.
  187.  
  188. \begin{itemize}
  189. \item Queries are restricted to valid time only. Transaction-time
  190.   related queries are not explored.
  191.  
  192. \comment{
  193. \item User-defined time, including the interaction between
  194.   user-defined time and valid time, is not considered.}
  195.  
  196. \item Schema evolution and versioning are not considered.
  197.  
  198. \item Incompleteness is not considered. 
  199.  
  200. \item Recursive queries are not included.
  201.  
  202. \item Nested queries are not included.
  203.  
  204. \item General temporal reasoning is beyond the scope of this version
  205.   of the benchmark.
  206.  
  207. \item For simplicity, each relation is used only once in each query.
  208.  
  209. \item Queries involving aggregation facilities are not considered.
  210.  
  211. \comment{
  212. \item Queries involving relations with multivalued dependencies (in
  213.   the snapshot sense) are not explored.}
  214.  
  215. \item Only queries are included---updates are not considered.
  216. \end{itemize}
  217.  
  218. These advanced aspects are excluded solely for pragmatic reasons, and
  219. the exclusion is not meant to imply in any way that the aspects are
  220. not important. The restrictions simply represent an attempt to reduce
  221. the size of the initial benchmark to manageable proportions.
  222.  
  223. It is emphasized that this benchmark is merely the first in a sequence
  224. of ever-more comprehensive benchmarks. Later benchmarks will relax the
  225. above restrictions on the scope of comprehensiveness imposed on this
  226. benchmark.
  227.  
  228. \comment{
  229. Specifically, the next version of the benchmark is intended to include
  230. queries that use the same relation more than once, utilize
  231. aggregation, and involve both valid time and user-defined time.}
  232.  
  233. \section{The Benchmark Database Schema}
  234.  
  235. \subsection{Criteria}
  236.  
  237. A suitable database schema for the benchmark should satisfy three
  238. criteria.
  239.  
  240. \begin{itemize}
  241. \item{} The schema should be simple. This will aid in making the
  242.   benchmark easy to understand. This criterion restricts the number of
  243.   relation schemas and the number of attributes of the individual
  244.   schemas. Additionally, the names of the relations and of the
  245.   attributes should be short, as they will be referenced repeatedly.
  246.  
  247.   When an extension is proposed, the benefits should be carefully
  248.   compared with the added complexity.
  249.  
  250. \item{} The schema should allow for comprehensiveness within the
  251.   chosen scope. Using the schema, it should be possible formulate
  252.   queries of all the types that appear reasonable.
  253.  
  254.   This indicates a need for at least two related relation schemas (for
  255.   natural join queries).
  256.  
  257. \item{} A schema that has already been used frequently is preferred
  258.   over a new schema. This guarantees that many existing queries can be
  259.   adapted easily to the benchmark.
  260. \end{itemize}
  261.  
  262. \section{The Benchmark Database Schema}
  263.  
  264. \subsection{Criteria}
  265.  
  266. A suitable database schema for the benchmark should satisfy four
  267. criteria.
  268.  
  269. \begin{itemize}
  270. \item{} The schema should be natural. That is, it should correspond to
  271.   a reasonable, though possibly greatly simplified, segment of the
  272.   real world. This both reduces the need to explain the model and
  273.   enhances the ability to recognize verball pitfalls in the path to
  274.   the query instances.
  275.  
  276. \item{} The schema should be simple. This will aid in making the
  277.   benchmark easy to understand. This criterion restricts the number of
  278.   relation schemas and the number of attributes of the individual
  279.   schemas. Additionally, the names of the relations and of the
  280.   attributes should be short, as they will be referenced repeatedly.
  281.  
  282.   When an extension is proposed, the benefits should be carefully
  283.   compared with the added complexity.
  284.  
  285. \item{} The schema should allow for comprehensiveness within the
  286.   chosen scope. Using the schema, it should be possible formulate
  287.   queries of all the types that appear reasonable.
  288.  
  289.   This indicates a need for at least two related relation schemas (for
  290.   natural join queries).
  291.  
  292. \item{} A schema that has already been used frequently is preferred
  293.   over a new schema. This guarantees that many existing queries can be
  294.   adapted easily to the benchmark.
  295. \end{itemize}
  296.  
  297. \subsection{The Schema}
  298.  
  299. The database schema consists of two valid-time relation schemas, {\tt
  300. Emp} and {\tt Mgr}. In the terminology of the entity-relationship
  301. model, the first schema models an entity set, and the second a
  302. relationship set. They are defined as follows.
  303.  
  304. Relation {\tt Emp} uses the attributes {\tt Name}, {\tt Salary}, and
  305. {\tt Dept} for recording the relationships between employees,
  306. salaries, and departments. In addition, it contains attributes {\tt
  307. Gender}, {\tt B-day}, and {\tt Skills} which indicate the gender,
  308. birthday, and skills of an employee.
  309.  
  310. Relation {\tt Mgr} records the association of employees, as managers,
  311. with departments, and it contains two attributes, {\tt Dept} and {\tt
  312.   Manager}.
  313.  
  314. Attributes {\tt Name}, {\tt Dept}, {\tt Skills}, and {\tt Manager} are
  315. of type {\tt textString}; attribute {\tt Gender} is one of {\tt F}
  316. (female) and {\tt M} (male); {\tt Salary} is of type {\tt integer};
  317. and {\tt Birthday} is a user-defined time value which may be compared
  318. with valid times.
  319.  
  320. The relation schemas obey the following {\em snapshot} functional
  321. and multivalued dependencies:
  322.  
  323. \begin{prog}
  324. For {\tt Emp}: \\
  325. \> {\tt Name} $\rightarrow$ {\tt Salary} \\
  326. \> {\tt Name} $\rightarrow$ {\tt Dept} \\
  327. \> {\tt Name} $\rightarrow$ {\tt Gender} \\
  328. \> {\tt Name} $\rightarrow$ {\tt B-day} \\
  329. \> {\tt Name} $\mvd$ {\tt Skills} (and {\tt Name} $\not\rightarrow$
  330. {\tt Skills}) \\
  331. For {\tt Mgr}: \\
  332. \> {\tt Dept} $\rightarrow$ {\tt Manager}
  333. \end{prog}
  334.  
  335. Note that {\tt Name} and {\tt Skills} is the primary key of {\tt Emp}
  336. (it is the only candidate key). The schema is not in third normal form
  337. as, e.g., {\tt Name} $\rightarrow$ {\tt Salary} is a non-trivial
  338. functional dependency where {\tt Name} is not a superkey for {\tt Emp}
  339. and {\tt Salary} is not part of a candidate key for {\tt Emp}.
  340. Attributes {\tt Gender} and {\tt Birthday} are both time-invariant.
  341.  
  342. Schema {\tt Mgr} is in snapshot Boyce-Codd normal form.
  343.  
  344. The attribute {\tt Manager} of {\tt Mgr} is a foreign key for the
  345. attribute {\tt Name} of {\tt Emp}. Thus, a tuple is allowed to exist
  346. in the {\tt Mgr} relation only if, for each non-empty snapshots of
  347. this tuple, the {\tt Manager} attribute value exists as a {\tt Name}
  348. value of some tuple in the simultaneous snapshot of the {\tt Emp}
  349. relation.
  350.  
  351. \end{document}